package com.ecube.maintenance.biz.apis;

import com.ecube.maintenance.biz.commons.ICCallBack;
import com.ecube.maintenance.pojos.SellerInfo;
import com.ecube.maintenance.pojos.SellerListInfo;

import java.util.List;

/**
 * Created by Trible Chen on 2014/9/7.
 */
public interface ISellerAction {

    /**
     *获取服务商列表 请求接口类型，这里是 app_GetSPList
     * @param sid 服务端生成的唯一 id
     * @param lon 经度，如果没定位，就用城市中心店经度，否则使用用户的经度
     * @param lat 纬度，如果没定位，就用城市中心的纬度, 否则使用用户的纬度
     * @param cityName 城市名称，用于缩小搜索的范围
     * @param skip 返回结果的游标，表示当前请求到的条数，即跳多 skip，默认 0
     * @param count 请求条数（默认 5）
     * @param searchDate 搜索日期（默认明天）
     * @param carFactory 车厂
     * @param keyword 搜索关键词
     * @param sortBy sortBy，代表排序方式obtDefault — 默认排序obtNear2Far — 距离由近至远obtLow2High — 价格由低到高
     * @param callBack
     */
    void fetchSellerList(String sid,double lon,double lat,
                         String cityName,int skip,int count,
                         String searchDate,String carFactory,
                         String keyword,String sortBy,
                         ICCallBack<SellerListInfo> callBack);

    /**
     * 根据服务商 ID 获取服务商详情 请求接口类型，这里是 app_GetSPDetail
     * @param sid
     * @param spID
     * @param date
     * @param callBack
     */
    void fetchSellerDetail(String sid,String spID,String date,
                           ICCallBack<SellerInfo> callBack);

    /**
     * 服务商收藏/取消收藏 请求接口类型，这里是 app_AddCollect
     * @param sid
     * @param spID
     * @param collectType：-1 为取消收藏，1 为收藏
     * @param callBack
     */

    void collectSeller(String sid,String spID,int collectType,
                       ICCallBack callBack);

    /**
     *求工位 请求接口类型，这里是 app_AddClaimProduct
     * @param sid
     * @param spID
     * @param lon
     * @param lat
     * @param callBack
     */
    void claimProduct(String sid,String spID,double lon,double lat,
                      ICCallBack callBack);
}
